home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 / Aminet - June 1993 [Walnut Creek].iso / usenet / sources / volume90 / unix / uucp103d / part14 < prev    next >
Encoding:
Internet Message Format  |  1990-02-04  |  46.4 KB

  1. Path: xanth!cs.odu.edu!Amiga-Request
  2. From: Amiga-Request@cs.odu.edu (Amiga Sources/Binaries Moderator)
  3. Newsgroups: comp.sources.amiga
  4. Subject: v90i058: uucp 1.03D - unix compatible uucp/mail/news system, Part14/16
  5. Message-ID: <11297@xanth.cs.odu.edu>
  6. Date: 4 Feb 90 02:42:49 GMT
  7. Sender: tadguy@cs.odu.edu
  8. Reply-To: overload!dillon (Matt Dillon)
  9. Lines: 1186
  10. Approved: tadguy@cs.odu.edu (Tad Guy)
  11. X-Mail-Submissions-To: Amiga@cs.odu.edu
  12.  
  13. Submitted-by: overload!dillon (Matt Dillon)
  14. Posting-number: Volume 90, Issue 058
  15. Archive-name: unix/uucp-1.03d/part14
  16.  
  17. #!/bin/sh
  18. # This is a shell archive.  Remove anything before this line, then unpack
  19. # it by saving it into a file and typing "sh file".  To overwrite existing
  20. # files, type "sh file -c".  You can also feed this as standard input via
  21. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  22. # will see the following message at the end:
  23. #        "End of archive 14 (of 16)."
  24. # Contents:  man/dme.doc
  25. # Wrapped by tadguy@xanth on Sat Feb  3 20:51:23 1990
  26. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  27. if test -f 'man/dme.doc' -a "${1}" != "-c" ; then 
  28.   echo shar: Will not clobber existing file \"'man/dme.doc'\"
  29. else
  30. echo shar: Extracting \"'man/dme.doc'\" \(44056 characters\)
  31. sed "s/^X//" >'man/dme.doc' <<'END_OF_FILE'
  32. X
  33. XDME.DOC         DME version 1.39         Matthew Dillon
  34. X             4 November 1989
  35. X
  36. XDME, (C)Copyright 1987-89, Matthew Dillon.  All Rights Reserved.
  37. XThis software may be distributed for non-profit only.  This software is
  38. XFREEWARE, not shareware.
  39. X
  40. X    Matthew Dillon
  41. X    891 Regal Rd
  42. X    Berkeley, California  94708
  43. X    USA
  44. X
  45. X    Source is avalable:
  46. X
  47. X    (1) By anonymous FTP to UCBVAX.BERKELEY.EDU (ARPANET)
  48. X    (2) By regular mail (send a disk)
  49. X    (3) By Electronic mail:
  50. X        ARPANET:    dillon@ucbvax.berkeley.edu
  51. X        USENET:    ...!ihnp4!ucbvax!dillon
  52. X        (may take a while for me to respond)
  53. X
  54. X
  55. X    Donations welcome but not solicited (I ain't a starving artist).
  56. X
  57. X    icon by Bryce Nesbitt
  58. X
  59. X    text markers and the text-block stack by Kevin Seghetti (some of the new
  60. X    commands for 1.30).
  61. X
  62. X    AREXX interface (Bill Hawes' ARexx REXX language interpreter) ported
  63. X    by Kim DeVaughn
  64. X
  65. X
  66. X---------------------------------------------------------------------------
  67. X
  68. X0   Installation
  69. XI   Overview
  70. XII  Keymapping        key and mouse mapping
  71. XIII Command Sequences    DME commands
  72. XIV  File Particulars    notes on loading and saving files,
  73. XV   Workbench Support
  74. XVI  Revision Summary    revision numbering, changes made, etc...
  75. XVII Compiling        compiling instructions
  76. X
  77. X                    0
  78. X                   INSTALLATION
  79. X
  80. XThe NULL: device must be mounted to be able to use the EXECUTE command.
  81. XThis is so EXECUTE works even if the console window goes away.    Otherwise,
  82. Xsimply put DME in an accessable location (usually C:).  Put the dme.icon
  83. Xfile in the same directory as DME if you want to access the application
  84. Xfrom the workbench (dme.icon is not needed if accessed from a CLI or shell).
  85. X
  86. XPeople appear to have problems using the EXECUTE command when DME is run
  87. Xfrom the workbench.  I have no solution yet.
  88. X
  89. XThe CONFIG program may be used to configure the default window placement,
  90. Xsize, and color.  This program modifies the executble:
  91. X
  92. X    config c:dme    (or wherever you have the executable)
  93. X
  94. X
  95. X                    I
  96. X                 OVERVIEW
  97. X
  98. XSee REVISIONS section for revisions.  DME is an editor designed mainly for
  99. Xprogrammers.  Although it is not a word processor, it does include many
  100. Xword processing features such as Word-Wrap and automatic paragraph
  101. Xformatting.  Here is a quick 'features' list:
  102. X
  103. X    -control language based on a rich command set accessed manually
  104. X     or via arbitrary mapping of keys.  (Every key may be mapped to 128
  105. X     different things via qualifier and mouse keys)
  106. X
  107. X    -General variables, reference macros as variables, ENV: enviroment
  108. X     variables (1.30C and beyond).
  109. X
  110. X    -fast visual response (it scrolls quickly)... even faster when
  111. X     BlitzFonts or similar text speedup utilities are installed.
  112. X
  113. X    -title-line statistics showing your current position in the file,
  114. X     file name, whether the file has been modified or not, etc...
  115. X
  116. X    -Multiple Windows, ability to iconify windows
  117. X
  118. X    -Word Wrap and automatic paragraph formatting.
  119. X
  120. X    -ability to map any KEY or MOUSE BUTTON combination.
  121. X
  122. XDME has been designed to allow easy expansion, and I intend to make many
  123. Xfuture improvments.  It has not been designed for user friendliness, but is
  124. Xstraight forward if you read this document [care]fully.
  125. X
  126. XDME can take any number of arguments.  Any argument without a '-' in front
  127. Xof it is considered to be a file.   Normally, DME will automatically SOURCE
  128. Xtwo script files, S:.EDRC, and the .EDRC in your current directory. These
  129. Xfiles do not have to exist.  These script files usually contain mappings
  130. Xand do things (for example, turn on savetabs).
  131. X
  132. X    FLAGS:
  133. X        -ffilename        -source this script file instead of .EDRC
  134. X
  135. X        -b            -normally when multiple files are specified,
  136. X                 DME opens them with small windows.  This opens
  137. X                 them with normal sized windows.
  138. X
  139. X        -tN     -Open the window on scan line N
  140. X        -lN     -Open the window offset N scan columns
  141. X        -wN     -Make the window N pixels wide
  142. X        -hN     -Make the window N pixels high
  143. X
  144. X
  145. X
  146. X                    II
  147. X                 KEYMAPPING
  148. X
  149. XMOUSE BUTTONS:
  150. X
  151. X    The mouse buttons and combinations thereof may now be mapped.  The
  152. X    default mappings for the mouse buttons are as follows:
  153. X
  154. X    Left-button:    Move cursor to current mouse position
  155. X    Right-button:   Iconify window
  156. X    Left-button held down while moving mouse tracks the cursor
  157. X
  158. X    The iconification features:
  159. X    -Remembers original window size and placement
  160. X    -Remembers placement of iconified window when you re-iconify later.
  161. X
  162. X    Currently, you will crash the machine if you run out of memory and DME
  163. X    is unable to open the icon window or original window, so be careful.
  164. X
  165. X    see below for mapping the mouse buttons and mouse movement.
  166. X
  167. X
  168. XKEYBOARD:
  169. X
  170. XThe rest of the Functional interface for DME is based on key/mouse mappings
  171. Xand a rich command set.  Unlike other text editors, any non-qualifier key
  172. Xin DME may have any meaning whatsoever.  It just so happens that the
  173. Xdefault keymappings assign such things as the (return) key to the RETURN
  174. Xfunction, the (up) key to the UP function, etc...  Keys are named by their
  175. Xkeycap labels with the following exceptions:
  176. X
  177. X    the name for Back-Space is    BS
  178. X    the name for numeric keypad keys are prepended with an NK, except for
  179. X    the Enter key which is named 'ENTER'.
  180. X    The four cursor control keys are labeled UP, DOWN, LEFT, and RIGHT
  181. X    The three mouse buttons are labeled RMB, MMB, and LMB.
  182. X
  183. XNOTES:
  184. X       The normal Amiga mouse has only two buttons, the Left and the Right
  185. X       mouse buttons (LMB, RMB).  A properly installed three-button mouse
  186. X       is also supported.
  187. X
  188. X       You must type commands in lower-case, except for text, which can be
  189. X       either lower or upper case, and for upper-case alpha keys when
  190. X       specifying keymaps (i.e.  A and s-a are the same key).  The
  191. X       exception is the AMIGA qualifier key, which uses 'A' instead of
  192. X       'a'(Alt).
  193. X
  194. X       Each key may be qualified with any combination of CTRL, ALT, SHIFT,
  195. X       AMIGA, or any of the MOUSE buttons.  With 6 qualifiers (7 if your
  196. X       mouse has a middle button), you can assign up to 64 (128) different
  197. X       maps to each physical key on the keyboard.
  198. X
  199. X       The CAPS-LOCK, when lit, is equivalent to SHIFT only for Alpha keys.
  200. X
  201. X       The AMIGA-ALT (aA) combination isn't very usable since Intuition
  202. X       uses the sequence to duplicate a Mouse SELECT.  Other AMIGA
  203. X       sequences are used by intuition for mouse movement and other things.
  204. X       Some other qualifier combinations may not be usable due to other
  205. X       special sequences.
  206. X
  207. X       Some keys must be mapped by their lower-case keycap.  That is, to
  208. X       map the '>' key (USA keyboard), you specify shift dot (s-.)
  209. X
  210. X
  211. X    ***EXAMPLES:***
  212. X
  213. X    tab tab
  214. X    a-a ALT a
  215. X    A-a AMIGA a
  216. X    sA-a    SHIFT AMIGA a
  217. X    s-tab    SHIFT tab
  218. X    c-tab    CTRL tab
  219. X    ac-?    ALT-CTRL ?
  220. X    s-f5    SHIFT F5
  221. X    nk0 Numeric Keypad 0
  222. X    cs-nk0    CTRL SHIFT Numeric Keypad 0
  223. X    L-lmb    Left Mouse button pressed
  224. X    L-mmove    Mouse moved while left mouse button held down
  225. X    LR-lmb    left mouse button hit while right mouse button held down
  226. X    s-.     shift . ('>' for USA keyboards)
  227. X
  228. X    ***************
  229. X
  230. XMAPPING MOUSE BUTTONS
  231. X
  232. X    Mouse buttons serve both as QUALIFIERS and as KEYS.  Thus, you can map
  233. X    both normal keystrokes which require a mouse button to be held down:
  234. X
  235. X    map L-a ((left button and an a))
  236. X
  237. X    as well as the mouse keys themselves:
  238. X
  239. X    map L-lmb   ((left mouse key))
  240. X
  241. X    note that you had to specify the left mouse button down qualifier L as
  242. X    well as the left mouse button LMB.
  243. X
  244. X    If you map the left mouse button, and also map a sequence such as left
  245. X    mouse button + a:
  246. X
  247. X    map L-lmb   tomouse
  248. X    map L-a     ((hello))
  249. X
  250. X    Note that the first mapping will always get executed even if you
  251. X    intended L-a (that is, BOTH mappings would get executed).  In order
  252. X    to avoid confusion you might want to UNMAP the system default mapping
  253. X    for the right mouse button (mapped to ICONIFY) if you wish to apply
  254. X    combinations to the right mouse button.
  255. X
  256. X    MOUSE MOVEMENT is mapped with one or more mouse qualifiers (L, R, M),
  257. X    plus 'MMOVE' for the key.  That is:
  258. X
  259. X    map LR-mmove ((moving the mouse with both buttons held down))
  260. X
  261. X    Or how bout capping the characters under the mouse while moving the
  262. X    mouse?
  263. X
  264. X    map LR-mmove (tomouse if cl (tlate -32))
  265. X
  266. X
  267. X
  268. XDEFAULT KEYMAPPINGS:
  269. X
  270. X    All Printable Ascii keys mapped to their ascii equivalent. BS, DEL, UP,
  271. X    DOWN, LEFT, RIGHT, TAB, S-TAB, and ENTER are mapped properly.  These are
  272. X    the default system keymappings.
  273. X
  274. X
  275. X    map (a-c)       (bcopy)
  276. X    map (a-d)       (bdelete)
  277. X    map (a-down)    (scrolldown)
  278. X    map (a-l)       (while cu (tlate +32 right))
  279. X    map (a-m)       (bmove)
  280. X    map (a-r)       (nextr)
  281. X    map (a-s)       (bsource)
  282. X    map (a-u)       (while cl (tlate -32 right))
  283. X    map (a-up)      (scrollup)
  284. X    map (bs)        (bs)
  285. X    map (c-/)       (escimm (find ))
  286. X    map (c-])       (ref)
  287. X    map (c-[)       (ctags)
  288. X    map (c-1)       (goto block)
  289. X    map (c-b)       (block)
  290. X    map (c-c)       ()
  291. X    map (c-del)     (remeol)
  292. X    map (c-down)    (pagedown)
  293. X    map (c-esc)     (recall)
  294. X    map (c-f)       (reformat)
  295. X    map (c-g)       (escimm (goto ))
  296. X    map (c-i)       (insertmode on)
  297. X    map (c-j)       (join)
  298. X    map (c-l)       (wleft)
  299. X    map (c-n)       (next)
  300. X    map (c-o)       (insertmode off)
  301. X    map (c-p)       (prev)
  302. X    map (c-q)       (quit)
  303. X    map (c-r)       (wright)
  304. X    map (c-s)       (split first down)
  305. X    map (c-u)       (unblock)
  306. X    map (c-up)      (pageup)
  307. X    map (c-w)       (wordwrap toggle)
  308. X    map (del)       (del)
  309. X    map (down)      (down)
  310. X    map (enter)     (return)
  311. X    map (esc)       (esc)
  312. X    map (f1)        (escimm (insfile ))
  313. X    map (f10)       (saveold quit)
  314. X    map (f2)        (escimm (newfile ))
  315. X    map (f3)        (escimm (newwindow newfile ))
  316. X    map (f6)        (saveold iconify)
  317. X    map (f7)        (escimm (bsave ))
  318. X    map (f8)        (saveold escimm (newfile ))
  319. X    map (f9)        (saveold)
  320. X    map (L-lmb)     (tomouse)
  321. X    map (L-mmo)     (tomouse)
  322. X    map (left)      (left)
  323. X    map (R-rmb)     (iconify)
  324. X    map (return)    (return insline up firstnb down)
  325. X    map (right)     (right)
  326. X    map (s- )       (( ))
  327. X    map (s-del)     (deline)
  328. X    map (s-down)    (bottom)
  329. X    map (s-left)    (first)
  330. X    map (s-right)   (last)
  331. X    map (s-tab)     (backtab)
  332. X    map (s-up)      (top)
  333. X    map (sa-s)      (unblock block block bsource)
  334. X    map (tab)       (tab)
  335. X    map (up)        (up)
  336. X
  337. X
  338. X
  339. X                    III
  340. X                 COMMAND SEQUENCES
  341. X
  342. XDME has a rich command set which allows you to embed commands within
  343. Xcommands, or specify multiple commands in a row.  A command consists of a
  344. XKEYWORD followed by a FIXED number of arguments (0, 1, 2...).  The argument
  345. Xdelimeter in DME is a SPACE.  Therefore, to embed strings containing spaces
  346. Xas a single argument, you must surround the string with (string)
  347. X(backsinglequote-string-singlequote).  TEXT to be written as if typed is
  348. Xalso specified via a string in backquote-quotes.  For example:
  349. X
  350. X    right right (hello) right right (hello) enter down
  351. X    map f4 (right right) map f5 (left left)
  352. X    map f4 ((hello))
  353. X
  354. XReiterating (because this is important!)... If a command expects ONE
  355. Xargument, then it really does expect a single argument, and any remaining
  356. Xarguments are thought to be the next command... so:
  357. X
  358. X    map f4 right
  359. X                    -right is only one word, so no need
  360. X                     for ().
  361. X    map f4 (right right)
  362. X                    -we want to map f4 to two rights... we
  363. X                     need the () or the second right will
  364. X                     not be part of the map.
  365. X
  366. X    map c-del (repeat cright del)
  367. X                    -this is already implimented as REMEOL,
  368. X                     but shown here for clarity.
  369. X
  370. XSome arguments will eventually be fed through the command interpreter more
  371. Xthan once.  The MAP command is a good example.    When you execute a MAP
  372. Xcommand, the first run through the command interpreter installs the map
  373. Xstring minus a set of quotes.  So, if you want to specify text, you must
  374. Xenclose the text in two sets of ((text)) because the map string gets passed
  375. Xthrough the command interpreter again when you hit the mapped key.  Here
  376. Xare some more complex examples:
  377. X
  378. X    map f4 (right right (hello) left left)      *RIGHT*
  379. X    map f4 right right hello left left        *WRONG*
  380. X
  381. X    map f4 (map f4 ((hello)))
  382. X                    -the first time you hit F4, it's command
  383. X                     is to re-map itself to the TEXT (hello).
  384. X                     (gads!).
  385. X
  386. X    map c-i (repeat tr (( )))
  387. X                    -example of how to embed a space in a
  388. X                     map and repeat (goes through command
  389. X                     interpreter three times!).
  390. X
  391. X
  392. XAn easy way to fool around executing commands or making maps is either to
  393. Xuse the ESC key (which enters command mode), or  a-S (alt-shift-s), which
  394. XEXECUTES the current DME line that the cursor is on.... so you can use DME
  395. Xto edit and test your new keymappings.
  396. X
  397. X
  398. X                STRING VARIABLES
  399. X
  400. X    String variables are replaced with their contents.    Three specification
  401. X    forms are allowed:
  402. X
  403. X    $varname        - varname can only consist of a-z,A-Z,0-9,-,_
  404. X    $(varname)      - anything not containing a '(' or ')'
  405. X    $`varname'      - anything not containing a '`' or '''
  406. X
  407. X    Two special variables exist:
  408. X
  409. X    filename    - the current filename
  410. X    scanf        - the current scanf'd string (see SCANF below)
  411. X    lineno        - the current cursor line number (1 .. N)
  412. X    column        - the current cursor column number (1 .. N)
  413. X
  414. X    Other variables cause a search of three variable domains to find the
  415. X    contents.  For example, if you give  $DMEFONT:
  416. X
  417. X    (1) An Internal variable named DMEFONT is searched for.  Internal
  418. X        variables are case sensitive.  (see SET, UNSET)
  419. X
  420. X    (2) An Enviroment variable name DMEFONT is searched for.  Enviroment
  421. X        variables are NOT case sensitive.  (see SETENV, UNSETENV).  The
  422. X        1.3 ENV: is used.
  423. X
  424. X    (3) A DME keymap or menu definition named DMEFONT is searched for.
  425. X        This allows you to say something like $sa-tab to insert the
  426. X        contents of the shift-alt-tab keymap.   (see MAP, UNMAP, and
  427. X        MENU oriented commands).
  428. X
  429. X    The reason for the other two forms of variable specifiction is to allow
  430. X    one to access strangely named variables (with puncuation and other crap).
  431. X
  432. X    SPECIAL NOTE:  What is wrong with this command?
  433. X
  434. X    repeat 100 (first ($myvar))
  435. X
  436. X    What is wrong is that $myvar is evaluated BEFORE the repeat is
  437. X    executed.  myvar might contain characters that would confuse the
  438. X    command specification when.  That is, if myvar contained a '(' you
  439. X    could get something like:    repeat 100 (fist ((())  which is obviously
  440. X    incorrect.    By using \ you can cause $myvar to be evaluated at
  441. X    loop-execution time rather than before:
  442. X
  443. X    repeat 100 (first (\$myvar))
  444. X
  445. X    These kinds of problems can also occur when you do keymaps... you
  446. X    probably do not want to evaluate the variable at keymap-entry time,
  447. X    but rather would want the variable evaluated at keymap-execution time.
  448. X
  449. X    On the otherhand, this is perfectly allowable:
  450. X
  451. X    set x (tlate +1)
  452. X    repeat 100 ($x)
  453. X
  454. X    Which executes the command (tlate +1) 100 times... By NOT surrounding
  455. X    the variable with parens (depends on the situation), the variable is
  456. X    executed rather than inserted as text.
  457. X
  458. X
  459. X               SPECIAL CHARACTERS
  460. X
  461. X    ^ is used to introduce a control character.  For example, ^c would
  462. X    embed a control-c.    You cannot embed c-@ (ascii code 0).
  463. X
  464. X    backslash \ is used to override special meanings.  The next character
  465. X    is overriden.
  466. X
  467. X    map c-a ((^l))      -map control a to produce a control l
  468. X    map c-a ((\\\^l))   -map control a to produce a "^l".  The first
  469. X             \ overides the second, and the third overides
  470. X             the ^.
  471. X
  472. XCOMMAND LIST:
  473. X
  474. X    (text)          -enter text as if typed.
  475. X    key         -execute a keymap as a macro (example:  c-a)
  476. X    header-item     -execute a menu item as a macro (example: Project-Save)
  477. X             (case independant)
  478. X    ADDPATH path    -Add the specified symbolic directory to DME's special
  479. X             search path (see REF and CTAGS).
  480. X    ARPINSFILE        -INSFILE filerequestor, only if ARP.LIBRARY installed
  481. X    ARPLOAD        -NEWFILE filerequestor, only if ARP.LIBRARY installed
  482. X    ARPSAVE        -SAVEAS  filerequestor, only if ARP.LIBRARY installed
  483. X    BACK        -same as BS
  484. X    BACKTAB        -backward tab
  485. X    BCOPY        -copy block before cursor line
  486. X    BDELETE        -delete the block
  487. X    BLOCK        -Set start or end of block
  488. X    BMOVE        -move block before cursor line
  489. X    BOTTOM        -Move to Bottom of File
  490. X    BS            -backspace, (delete char to left of cursor)
  491. X    BSAVE file        -save the block to a file
  492. X    BSOURCE        -source current text block as if it were a script file
  493. X    CHFILENAME name -change the name of the working file
  494. X    CTAGS        -search for the tag under the cursor (see below)
  495. X    DEL         -delete, (deletes char under cursor)
  496. X    DELINE        -delete line
  497. X    DOWN        -cursor down
  498. X    DOWNADD        -cursor down.  If at bottom of text, add a line.
  499. X    ESC         -toggle manual command entry mode
  500. X    ESCIMM arg        -go into command entry mode prompting with a
  501. X             predefined string.
  502. X    EXECUTE comm    -Execute a CLI command
  503. X    FIND string     -SET the search pattern and do a NEXT
  504. X    FINDR s1 s2     -Set find and replace patterns and do one find/rep.
  505. X    FINDSTR string  -SET the search string pattern
  506. X    FIRST        -move to column 1
  507. X    FIRSTNB        -Move to first non-blank in line.
  508. X    GOTO BLOCK        -Goto the beginning of the marked block.
  509. X    GOTO START        -same as GOTO BLOCK.  undefined if no block
  510. X    GOTO END        -goes to the END of the marked block.  undef. if no blk.
  511. X    GOTO [+/-]N     -Goto an absolute or relative line number
  512. X    HEIGHT N        -set height in PIXELS for any new windows
  513. X    ICONIFY        -iconify the window
  514. X    IF cnd act        -IF/WHILE/IFELSE.. SEE BELOW
  515. X    IFELSE cnd ifact elseact
  516. X    IGNORECASE what -set case ignore for seaches.  what = on, off, or toggle
  517. X    INSERTMODE what -set INSERTMODE.  what = on, off, or toggle
  518. X    INSFILE name    -insert a file into the current text.
  519. X    INSLINE        -insert line
  520. X    JOIN        -join next line to line at cursor
  521. X    LAST        -move one beyond the last non-space in a line.
  522. X    LEFT        -cursor left
  523. X    LEFTEDGE N        -set leftedge on the screen in PIXELS for any new window
  524. X    MAP key map     -map a key to a keymap
  525. X    MARGIN N        -set WordWrap and paragraph formatting margin
  526. X             (related to WORDWRAP and REFORMAT)
  527. X    MENUADD hdr item cmd    -add menu item
  528. X    MENUDEL hdr item        -delete menu item
  529. X    MENUDELHDR hdr        -delete menu header
  530. X    MENUCLEAR            -delete entire menu
  531. X    MENUON            -enable menus  (multiple calls are stacked)
  532. X    MENUOFF            -disable menus (multiple calls are stacked)
  533. X    NEWFILE name    -replace current text with new file
  534. X    NEWWINDOW        -open newwindow
  535. X    NEXT        -find next occurance of search pattern
  536. X    NEXTR        -find next occurance and replace
  537. X    NULL        -no operation
  538. X    PAGEDOWN        -pagedown a partial page (see PAGESET)
  539. X    PAGESET n        -n PERCENT (0 to 100). page step size relative to the
  540. X             current number of rows in the window.
  541. X    PAGEUP        -pageup a partial page (see PAGESET)
  542. X    PING n        -set a text marker (0-9).
  543. X    PONG n        -move to a previously set text marker (0-9)
  544. X    PREV        -find previous occurance of search pattern
  545. X    PREVR        -find previous occurance and replace
  546. X    PUSHMARK        -push the currently marked block onto a stack and
  547. X             unhighlight the block
  548. X    POPMARK        -pop the block stack and highlight the popped block
  549. X    PURGEMARK        -clear the mark stack
  550. X    QUIT        -quit
  551. X    RECALL        -recall most recently entered command.  Must be used
  552. X             from a keymap (c-esc).
  553. X    REF         -reference string under cursor (see below)
  554. X    REFORMAT        -reformat paragraph using the margin.
  555. X    REMEOL        -Remove text under and beyond the cursor.
  556. X    REMPATH wild    -Remove one or more symbolic directorys from DME's
  557. X             special path... a */? wildcard is acceptable.
  558. X    REPEAT cnt comm -SEE BELOW
  559. X    REPSTR string   -SET the replace string pattern
  560. X    RESETTOGGLE N   -clear toggle array entry N(0..31)
  561. X    RESIZE cols rows-Resize current window. E.G:  (resize 70 23)
  562. X    RETURN        -same as (FIRST DOWNADD)
  563. X    RIGHT        -cursor right
  564. X    RX            -ARexx macro, no args   (RX macname)
  565. X    RX1         -ARexx macro, one arg   (RX1 macname arg1)
  566. X    RX2         -ARexx macro, two args  (RX2 macname arg1 arg2)
  567. X    SAVEAS file     -save current text under a different name (title
  568. X             line name does not change)
  569. X    SAVEMAP file    -save user keymappings
  570. X    SAVEOLD        -save current text under current name
  571. X    SAVESMAP file   -save all keymappings, including system keymaps
  572. X    SAVETABS on/off -Optimize file saves by crunching spaces to tabs.
  573. X             The default is OFF.
  574. X    SCANF ctlstr    -scan the string at the current text position (C scanf)
  575. X             example:    (scanf %s)          SEE BELOW
  576. X    SCREENBOTTOM    -Move cursor to the bottom of the screen.
  577. X    SCREENTOP        -Move cursor to the top of the screen
  578. X    SCROLLUP        -Scroll up without moving cursor
  579. X    SCROLLDOWN        -Scroll down without moving cursor
  580. X
  581. X    SET var str     -create/modify an internal variable (access w/ $)
  582. X    SETENV var str  -create/modify an enviroment variable (1.3 ENV:)
  583. X    SETFONT font sz -Set the window's font.  ex:   (setfont topaz.font 11)
  584. X    SETPARCOL col   -Set the left margin for word wrap mode paragraphing.
  585. X    SETTOGGLE N     -set toggle array entry N  (0..255)
  586. X    SOURCE file     -source a script file. '#' in first column for comment
  587. X    SPLIT        -Split line at cursor
  588. X    SWAPMARK        -PUSHMARK, swap top two marks on stack, POPMARK
  589. X    TAB         -forward tab
  590. X    TABSTOP N        -Set tab stops every N.  does not effect text load
  591. X    TLATE [+/-]N    -translate character by +N or -N, or set character
  592. X             to exactly N if no + or -. (e.g. TLATE +65 TLATE 3)
  593. X    TMPHEIGHT N     -set window height for next window only, pixels
  594. X    TMPWIDTH  N     -set window width for next window only,  pixels
  595. X    TOGGLE N        -flip toggle array entry N (0..255)  (See IF)
  596. X    TOMOUSE        -moves cursor to mouse position
  597. X    TOP         -Move to Top of File
  598. X    TOPEDGE N        -set topedge in the screen in PIXELS for any new window
  599. X    UNBLOCK        -clear the block markers for the current window
  600. X    UNDO        -undo current line (must be mapped to a key to work)
  601. X    UNMAP key        -unmap a key
  602. X    UP            -cursor up
  603. X    UNSET var        -delete an internal variable
  604. X    UNSETENV var    -delete an enviroment variable
  605. X    WHILE cnd act   -(see below)
  606. X    WIDTH N        -set width in PIXELS for any new window
  607. X    WLEFT        -move to beginning of previous word.  If in the
  608. X             middle of a word, move to beginning of current word.
  609. X    WORDWRAP on/off/toggle
  610. X            -Word Wrap mode (related to MARGIN)
  611. X    WRIGHT        -move to beginning of next word
  612. X
  613. X
  614. X    -------------------------------------------------------------
  615. X    -------------    More Info on Complicated Commands    -----------------
  616. X    -------------------------------------------------------------
  617. X
  618. X    MENUOFF/ON        -This command will enable/disable menus.  Users
  619. X             who have a whole bunch of MENUADD commands in
  620. X             their .EDRC should note that disabling menus at
  621. X             the beginning will speed up the MENUADD commands.
  622. X             Then reenable menus at the end.  These calls are
  623. X             stackable in that if you call MENUOFF, say, twice,
  624. X             it will take two MENUON commands to restore
  625. X             menus.  The reverse is not true.
  626. X
  627. X    CTAGS   (c-[)   -(1.30B and beyond) Compatible with Aztec's CTAGS
  628. X             program.  This command searches for the subroutine
  629. X             name under the cursor in the associated tags file
  630. X             ("tags" in the directory holding the file currently
  631. X             being edited).  Also, the file "tags" in directories
  632. X             specified by the special DME path (see ADDPATH and
  633. X             REMPATH) will be searched.
  634. X
  635. X             If the tag is found, it loads the file the subroutine
  636. X             resides in if neccesary, then WindowToFront()'s the
  637. X             window, ActivateWindow()s it, and GOTO's the line
  638. X             where the subroutine starts.  The search within the
  639. X             source file is anchored to the left column.  If the
  640. X             file is already loaded, it is not reloaded.
  641. X
  642. X             This enables a programmer to quickly trace subroutines
  643. X             over an arbitrary number of files.
  644. X
  645. X             The tags file contains one or more lines of the following
  646. X             format:
  647. X
  648. X             subroutine-name file-name /^search-pattern
  649. X             (that's a slash and a carrot, then the pattern)
  650. X
  651. X             -- EXAMPLE of 'TAGS' file:
  652. X             setpen cmd1.c /^setpen(
  653. X             do_up cmd1.c /^do_up(
  654. X             --
  655. X
  656. X            SPECIAL NOTE:  CTAGS will work even if you are not in
  657. X            the directory containing the file.    You can thus place
  658. X            a tags file in the directory containing the files it
  659. X            references, and the filenames WITHIN the tags file need
  660. X            not be a full path.
  661. X
  662. X    REF     (c-])   -(1.28d and beyond).  This is a very powerful new
  663. X             command that allows you to bring up a reference to
  664. X             a keyword with a single keystroke.  This is useful for
  665. X             programmers who have on-line documentation or fully
  666. X             commented include files.  DME opens a window just big
  667. X             enough to fit the reference.
  668. X
  669. X             NOTE:  The new CTAGS command may be more suited to
  670. X             your application.
  671. X
  672. X             The reference keyword is the alpha-numeric string
  673. X             currently under the cursor.  REF will search the
  674. X             file DME.REFS in the directories listed by the
  675. X             special DME path (see ADDPATH and REMPATH).  The
  676. X             file must be built by the user and each line has the
  677. X             following format:
  678. X
  679. X             (keyword) (nolines/endstring) (file) (searchstr/##seekpos)
  680. X
  681. X             Surrounding the keywords with `' or () is optional if
  682. X             the keyword does not contain spaces.
  683. X
  684. X            keyword     -keyword under cursor
  685. X            nolines/ends-either a number (the number of lines
  686. X                     in the reference) or a string denoting
  687. X                     the end of the reference when found.
  688. X            file        -the file containing the reference
  689. X                     material
  690. X            searchstr/##-search string in file that indicates
  691. X                     the beginning of the reference, or
  692. X                     two hashes (##) and the seek position
  693. X                     in decimal (like ##2343).  The latter
  694. X                     method is used mainly for reference-
  695. X                     generator programs.
  696. X
  697. X             Upon finding a successful keyword match the specified
  698. X             file is openned and the seach string searched for.  If
  699. X             a seek position was specified no search is made and a
  700. X             seek is made to the beginning of the reference.  If
  701. X             found, the indicated number of lines (if a number
  702. X             is specified for <nolines/ends>) or until a match with
  703. X             the endstring (if a string was specified) will be
  704. X             placed in a temporary file and a new DME window
  705. X             brought up. The temporary file is then deleted.
  706. X
  707. X             When looking for matches, the compare is anchored at
  708. X             the beginning of each line in the file.  Thus, any
  709. X             spaces in front of the string in the file must be
  710. X             duplicated.
  711. X
  712. X             T: must be assigned to a temporary directory, usually
  713. X             RAM:   See the included example DME.REFS file.  The
  714. X             most common things referenced are the autodocs and
  715. X             commented include files.
  716. X
  717. X             Some modification of the included DME.REFS.* files may
  718. X             be required due to differences in include file and
  719. X             autodoc format.
  720. X
  721. X    SCANF ctlstr    -This is equivalent to the C scanf() function with the
  722. X             restriction that only one conversion is allowed, that
  723. X             conversion being a string.  Thus:
  724. X
  725. X             scanf %s        will place the string under the
  726. X                    cursor in the variable $scanf
  727. X
  728. X             scanf %4s        The first four chars of the string.
  729. X
  730. X             scanf %[0123456789]
  731. X                    will scan the string while it contains
  732. X                    specified chars (e.g. scan a number)
  733. X
  734. X             scanf %[~,]    will scan the string until it finds
  735. X                    a ','.
  736. X
  737. X            The variable $scanf may be used as an argument in any
  738. X            command.  Example:    (insfile $scanf).
  739. X
  740. X            NOTE:  If using $scanf in a macro, you probably want
  741. X            to precede it with a \ to prevent it from being
  742. X            evaluated at macro-creation time.
  743. X
  744. X
  745. X    REPEAT N arg    -Repeat (arg) N times.  Apart from being a number, N
  746. X             can also be one of:
  747. X
  748. X            line    Current line # (lines begin at 1)
  749. X            lbot    #lines to the bottom, including current line
  750. X            cleft    column # (cols begin at 0)
  751. X            cright    #chars to eol, including current char under cursor
  752. X            tr    #char positions to next tab
  753. X            tl    #char positions to next back tab
  754. X
  755. X            Certain commands can abort a REPEAT loop.
  756. X            Specifically, any FIND[R], NEXT[R], or PREV[R] in which
  757. X            the search string is NOT found will abort a REPEAT.
  758. X            Most operations which can go out of bounds, such as
  759. X            UP, LEFT, RIGHT, DOWN, also abort a repeat.
  760. X
  761. X            Specifying -1 as N causes REPEAT to go on forever
  762. X            (well, actually, 0xFFFFFFFF times) or until an abort.
  763. X
  764. X    IF [!]condition arg
  765. X    WHILE [!]condition arg
  766. X    IFELSE [!]condition arg else arg
  767. X
  768. X        If the specified condition is true, execute the argument.  For
  769. X        WHILE, the argument is executed until the condition is false
  770. X        (be careful!).
  771. X
  772. X        the optional '!' inverts the logic.
  773. X
  774. X        Conditions:
  775. X
  776. X
  777. X        #        if toggle entry # is SET.  there are 256 toggles (0..255)
  778. X        t        if On line 1
  779. X        b        if On last line
  780. X        l        if At column 0
  781. X        r        if At end of line (spaces below and beyond)
  782. X        m        if Text has been modified
  783. X        i        if in insert mode
  784. X        x[<=>]# if column position (starts at 1) is (any OR combo of
  785. X            <, =, or >) than some number.  Example:   x<=20
  786. X        y[<=>]# if Line number (starts at 1) is (same as for x)
  787. X        cl        character under cursor is lower case alpha
  788. X        cu        character under cursor is upper case alpha
  789. X        ca        character under cursor is alpha-numeric
  790. X        cn        character under cursor is numeric
  791. X        c[<=>]# character under cursor is ascii code # (# in decimal)
  792. X            optional conditionals as in 'x' and 'y'.
  793. X        cb        cursor within a block
  794. X
  795. X    Example: simulating an insert mode toggle: ALT-i (not CTL-i)
  796. X
  797. X    map a-i (ifelse 0 (toggle 0 insertmode OFF) (toggle 0 insertmode ON))
  798. X
  799. X    Example: while lower case, map to upper case and move right.
  800. X
  801. X    map c-U (while cl (tlate -32 right))
  802. X
  803. X    Example: Search/Replace all of text.
  804. X
  805. X    map c-R (escimm (findstr ) escimm (repstr ) repeat -1 nextr)
  806. X
  807. X     if c<32 ((char under cursor is smaller than 32))
  808. X     if c<>32 ((char under cursor is not equal to 32))
  809. X     while !b down
  810. X
  811. X
  812. X                    IV
  813. X                 FILE PARTICULARS
  814. X
  815. XNo Matter what you set internal tabs to, tabs in disk files will be 8.
  816. XThis allows you to use your favorite tabs stops (mine are 4) and still
  817. Xhave your disk files compatible with TYPE, a printer, etc...  DME by
  818. Xdefault doesn't bother to optimize when writing out files and simply uses
  819. Xspaces. If you (SAVETABS on) before saving (or in your S:.EDRC, etc...),
  820. XDME will attempt to optimize the file by placing TABS in appropriate
  821. Xplaces.  DME will not place any TABS after the first single, back, or
  822. Xdouble quote is encountered in a line.    If this does not cover every
  823. Xsituation in your particular application that you want to be *sure* no tabs
  824. Xwill occur in sensitive sections, then you should not use (SAVETABS on).
  825. X
  826. XIt should be noted that since DME removes spaces at the end of the line,
  827. Xediting UUENCODED ascii files will not work for uuencoded lines which end
  828. Xwith a space.  The nominal fix is to add an extra character after each
  829. Xuuencoded line (anything) in the proper column, which is ignored by the
  830. XUUDECODE program.
  831. X
  832. XThe command to save the current document under the default name is SAVEOLD,
  833. X*not* SAVE.  SAVE is not a valid command.  This is to prevent people who
  834. Xhave not read the documentation from assuming 'save' takes an argument (and
  835. Xscrewing up their work).  SAVEOLD does NOT take an argument, SAVEAS does.
  836. X
  837. XSAVEOLD/SAVEAS do not automatically backup the destination file.  If you
  838. Xare working in an enviroment where you are worried about ensuring a viable
  839. Xcopy can be recovered if your Amiga crashes in the middle of the save, you
  840. Xcan write a macro to save the file into two places.  Usually, people backup
  841. Xtheir working disks so this is not neccesary.
  842. X
  843. XWorkbench Support:  If DME is run from the workbench, it will automatically
  844. Xconstruct an icon file when you save a document.  If run from a CLI, no
  845. Xicon file is generated.
  846. X
  847. X                    V
  848. X                  WORKBENCH SUPPORT
  849. X
  850. XDME V1.26 and beyond support the workbench in the following way:  (1) you
  851. Xcan click on the DME icon to bring up DME with the file "unnamed".  (2) you
  852. Xcan select one or more standard ascii documents which have DME as the
  853. Xdefault tool.  If DME has no knowlege of a text icon, it uses its own.
  854. XCommand line arguments are passed to DME via the tooltypes entries for
  855. XDME's application icon or via individual document icons.  The following
  856. Xformat is used:  (This is a hack, no?)
  857. X
  858. X    ARG=flag
  859. X
  860. X    See the OVERVIEW section for allowed flags.  Only one argument per line
  861. X    is allowed (sorry).  The tooltypes for the application icon are
  862. X    processed first, then the tooltypes for each document icon are
  863. X    processed before each file is loaded.
  864. X
  865. X    ARG= -t10
  866. X    ARG= -l10
  867. X
  868. X    Note: the 'config' program may be used to modify an executable and
  869. X    set the default window size and attributes.
  870. X
  871. X                    VI
  872. X                  REVISION SUMMARY
  873. X
  874. XV????
  875. X    - didn't restore pr_ConsoleDevice after an execute!
  876. X
  877. XV1.39
  878. X    - NEW COMMAND, 'setparcol'.  Set paragraph left margin for reformat
  879. X      command and word wrap mode.  The default is -1 (same as original
  880. X      format), else a column number.
  881. X
  882. X    - case sensitive bug fixed.. used to always be case insensitive
  883. X      no matter which option you chose.
  884. X
  885. X    - search-and-replace bug fixed... cursor positioned to END of
  886. X      replaced string to prevent improper operation when replace
  887. X      string is a superset of the search string.
  888. X
  889. X    - Menus more compact.
  890. X
  891. XV1.38
  892. X    - Removed fix in 1.37, use '1.4libpatch' if running under 1.4A16.
  893. X
  894. X    - FIXED AREXX BUG... DMe would crash if ARexx was installed for
  895. X      V's 1.37 and 1.36
  896. X
  897. XV1.37
  898. X    - 1.4a16 crashes on OpenLibrary() where the library does not
  899. X      exist.  Doesn't try to open arex if running under 1.4
  900. X      (for now, this is a temporary stopgap)
  901. X
  902. XV1.36
  903. X    -Removed dres.library IPC.    Removed dres.library requirement.  (ARexx IPC
  904. X     still in of course).  Source now compilable under Lattice C and Manx C.
  905. X
  906. XV1.35a
  907. X    -can change block pen now and DME updates the title using the correct
  908. X     color.
  909. X
  910. XV1.35
  911. X    -Bug in 1.34 fixed, would only work if dres.library was installed
  912. X    OOOPPS.
  913. X
  914. XV1.34
  915. X    -New variables $fpath and $fname have been added.  $fpath is the path
  916. X     part of the current filename, including trailing / or : (if any).
  917. X     $fname is anything after that.  For example:
  918. X
  919. X    FILE        fpath        fname
  920. X    s:.edrc     s:         .edrc
  921. X    blah                 blah     (path = "")
  922. X    /poof        /         poof
  923. X
  924. X
  925. XV1.33    RELEASE
  926. X    -You can now run <nil: >nil: DME and close the console window that
  927. X     you ran it from.  The execute command now requires the NULL: device
  928. X     to be mounted or an error will occur.
  929. X
  930. X    -space -> tab conversion does not take place after the first control
  931. X     character (<32), as well as the first quote ("), open paren ((), or
  932. X     single quote (') that it didn't before.
  933. X
  934. XV1.32            (small fixes)
  935. X    -Fixed workbench bugs, DME would exit if it could not find the
  936. X     executables disk object.  No longer does so.
  937. X
  938. XV1.31    RELEASE
  939. X    -Added new variables $lineno and $colno
  940. X    -Added CD command, ARPLOAD automatically CD's to DIR part of
  941. X     requester.
  942. X    -Added IPC support (my own ipc)
  943. X    -Fixed bug in BMOVE (when the source block is an entire file)
  944. X
  945. XV1.30C    LIMITED
  946. X    -MAJOR!    Macros, Internal variables, and ENV: enviroment variables
  947. X        may be specified with $varname, $(varname), or $`varname'.
  948. X
  949. X    -New commands:  SET, SETENV, UNSET, UNSETENV    (variable support)
  950. X
  951. X    -REFS window bug fixed I hope (made window slightly too small).
  952. X    -SAVE[S]MAP bug fixed for space mappings
  953. X    -CTAGS doesn't modify the window title if the window is iconified
  954. X     (allows you to make the following map: map <somemap> (iconify ctags)
  955. X
  956. X
  957. XV1.30B    Limited release
  958. X    -Kim fixed a bug in splitpath
  959. X    -added CTAGS command... support for Aztec's CTAGS program
  960. X    -added ADDPATH command... special directory paths for DME
  961. X    -added REMPATH
  962. X
  963. X    REFS no longer searches fixed directories, but looks at the
  964. X    ADDPATH directories.  CTAGS also looks at the ADDPATH
  965. X    directories.  CTAGS supports arbitrary directory specifications
  966. X    and is intelligent about where to look for the TAGS file.
  967. X
  968. X
  969. XV1.30    RELEASE
  970. X    -a couple small bugs fixed
  971. X    -fixed text bug that sometimes overwrites the right border
  972. X    -added new commands
  973. X    SETFONT     (for all of text, static fonts only)
  974. X    IGNORECASE  (for searches)
  975. X    -added new commands (AREXX support, Kim DeVaughn)
  976. X    RX, RX1, RX2
  977. X    -added new commands (by Kevin Speghetti)
  978. X    PUSHMARK, POPMARK, SWAPMARK, PURGEMARK        block marker stack
  979. X    PING, PONG                    text markers (0-9)
  980. X
  981. X    note: block marks on the stack, ping and pong, do not track text
  982. X    changes (bug).
  983. X
  984. X    -Many commands will now work while the text window is iconified
  985. X     without having to uniconify it.
  986. X
  987. XV1.29E
  988. X    -Fixed low memory bug in do_bomve() again.
  989. X    -Fixed arp file requestor problems.
  990. X    -added ARPINSFILE command.
  991. XV1.29D
  992. X    -Fixed low memory bug in do_bmove()...
  993. XV1.29C
  994. X    -highlighted icon window if file modified
  995. XV1.29B
  996. X    -INLINE FILENAME:
  997. X     added $filename variable.    $scanf and $filename can now be embedded
  998. X     anywhere on the command line.
  999. X    - ^x added (control-character), so you do not have to embed actual
  1000. X     control characters in your macros.
  1001. X    - \ overide added (\^x) produces "^x" instead of control-x, etc...
  1002. X
  1003. XV1.29  RELEASE
  1004. X
  1005. X    -Foreign keyboards supported better.
  1006. X    -Iconify window is activated rather than not activated.
  1007. X    -can keymap keys which normally produce nothing.
  1008. X    -blocks are displayed in a different color
  1009. X    -can now move/copy across windows
  1010. X    -can now resize window while file loading
  1011. X    -new commands ARPLOAD ARPSAVE   (uses ARP filerequestor if arp.library)
  1012. X     MENUADD MENUDEL MENUDELHDR MENUCLEAR MENUOFF MENUON
  1013. X
  1014. X    minor bugs fixed, major remodeling of the source (this is what I
  1015. X    use my vacation for!)
  1016. X
  1017. X    menus:  the right mouse button may be mapped only if there is no
  1018. X    menu, Else is used as the menu selector.  NOTE! It is much faster
  1019. X    to surround a set of MENUADD commands in a source file with
  1020. X    MENUOFF at the beginning and MENUON at the end.  You can also specify
  1021. X    menu items as macros in other commands (example: project-save)
  1022. X
  1023. XV1.28h SMALL RELEASE    references work better
  1024. X
  1025. XV1.28g SMALL RELEASE    Fixed NK0 bug in 1.28f plus keymap problems in 1.28f
  1026. X
  1027. XV1.28f RELEASE
  1028. X    Fixed macro bug created in 1.28e... could not specify macros on the
  1029. X    command line.
  1030. X
  1031. XV1.28e INTERNAL/BETA
  1032. X    New Commands:   REF     (c-])   -cross reference the word under the
  1033. X                     cursor and bring up a new window
  1034. X                     containing a description for that
  1035. X                     word.  See docs above.
  1036. X
  1037. X    -The keymapping has been fixed and should now work on any foreign
  1038. X     keyboard.
  1039. X    -MAJOR ADDITION:  () may be used instead of `' to enclose commands.
  1040. X     One can enclose the other ... that is, to get the "'" character you
  1041. X     can say (this is a charlie's day).
  1042. X
  1043. XV1.28c RELEASE
  1044. X    New Commands:   CHFILENAME        -change default filename for a window
  1045. X            RECALL  (c-esc) -recall command line (e.g. you make a
  1046. X                     mistake).    Must be used from a keymap,
  1047. X                     default is c-esc.
  1048. X
  1049. X            SCANF        -C scanf (single string only).  Extract
  1050. X                     strings from the text for use in any
  1051. X                     arbitrary command.
  1052. X
  1053. X    Command Parser: $scanf        -as an argument by itself is recognized
  1054. X                     to be the extracted string from scanf.
  1055. X                     Currently, the variable name (after
  1056. X                     the dollar) can be anything since only
  1057. X                     one variable exists, but use '$scanf'
  1058. X                     for future compatibility.
  1059. X
  1060. X    -Many Bug fixes (mainly benign bugs)
  1061. X    -^C (CONTROL C) now recognized when typed in a window.  c-c is mapped
  1062. X     to () = no action.
  1063. X    -Please look at the revised default keymappings listed in these docs.
  1064. X
  1065. X
  1066. XV1.28 LIMITED RELEASE
  1067. X    New Commands :  SCROLLUP    (a-up)
  1068. X            SCROLLDOWN    (a-down)
  1069. X    Modified Cmds:  ESCIMM
  1070. X    The execution of commands specified by an ESCIMM is blocked until
  1071. X    the user hits return on the ESCIMM command line.
  1072. X
  1073. X            BCOPY
  1074. X    No longer unblocks the block.
  1075. X
  1076. X    -Title bar status line no longer blinks when it changes
  1077. X    -Key releases no longer effect operation
  1078. XV1.27 RELEASE
  1079. X    -macros run about 20% faster due to hashing of the command table
  1080. X    -Maximum # of toggles raised to 256 (see IF/WHILE)
  1081. X    -small fixes to the code (nothing major)
  1082. X    -child windows inherit tab stops, insert mode, and wordwrap mode
  1083. X    -MOUSE BUTTONS AND MOVEMENT CAN NOW BE MAPPED
  1084. X    -New Commands: ICONIFY    (used to be hardwired.  Is now a command)
  1085. X    -Extended Commands: GOTO    (GOTO END of block)
  1086. XV1.26 Beta, minimal Release
  1087. X    -Workbench support
  1088. X    -New Command:   EXECUTE
  1089. XV1.25 RELEASE
  1090. X    -BSAVE does NOT UNBLOCK after saving (switch in functionality yet again)
  1091. X    -various bugs fixed (IF, tabs on file save)
  1092. X    -New Commands: MARGIN, REFORMAT, WORDWRAP, RESIZE,
  1093. X           TOPEDGE, LEFTEDGE, WIDTH, HEIGHT
  1094. X    -Command line options added for setting the window size and an optional
  1095. X     specified script file (when specified, local .EDRC not sourced).
  1096. X
  1097. X    -Enhanced Commands: IF  ..more control with conditions, addition of
  1098. X                  a couple more specifications.
  1099. X               JOIN .. functionality slightly changed
  1100. X    -keymaps may now be used as macros in other commands. (macros)
  1101. X    -New keymaps added to the default set.
  1102. X    -Mouse movement cleaned up a little.
  1103. X
  1104. XV1.24 Internal
  1105. X
  1106. XV1.23 RELEASE
  1107. X    -S:.EDRC now sourced instead of C:.EDRC
  1108. X    -User keymappings now work in COMMAND mode (when you hit ESC).
  1109. X    -You can now map the Amiga keys ('A' for Amiga, since 'a' is alt).
  1110. X    -Enhanced Commands: IF/IFELSE/WHILE (optional '!' in front of cond)
  1111. X            new condition 'cb' 'character is in selected block'
  1112. X            GOTO block  (goto beginning of block)
  1113. X    -NewCommands:    PAGESET SAVETABS
  1114. X    -Writing TABS (always 8) out to disk to save space now supported.
  1115. X
  1116. XV1.22 RELEASE (BUF FIXES FROM 1.20)
  1117. X    -'newfile' fixed
  1118. XV1.21 RELEASE (BUG FIXES FROM 1.20)
  1119. X    -iconify and window handling fixed
  1120. X    -left mouse button now tracks the mouse.
  1121. XV1.20 RELEASE
  1122. X    -bug fixes: bsave now unmarks the block, bdelete now sets 'modified' flag.
  1123. X        (other small fixes).
  1124. X    -enhancements: overwrite mode status indicator, find, find-replace now
  1125. X        completely implemented (yahhoo!!!)
  1126. X    -changed commands:    FIND NEXT PREV: no longer loop back to the top of
  1127. X        file or top->bottom in the case of PREV.  DELINE will now delete
  1128. X        text on the line if there is only one line of text.
  1129. X    -enhanced commands: GOTO REPEAT
  1130. X    -new commands: SAVEMAP SAVESMAP TOGGLE SETTOGGLE RESETTOGGLE TLATE
  1131. X           IF IFELSE WHILE BSOURCE
  1132. X           FINDSTR REPSTR FINDR NEXTR PREVR
  1133. X           NEWWINDOW
  1134. X    -new keymappings: (see a-s, a-S, f3)
  1135. X    -window iconification with mouse menu button.
  1136. X
  1137. X
  1138. XV1.12 RELEASE
  1139. X    -cursor is now pen #3 rather than #1.
  1140. X    -changeover to AZTEC C, smaller executable.
  1141. X    -now maps shift space to a space.
  1142. X    -new commands: REMEOL, WLEFT, WRIGHT
  1143. X    -display bug fixes (SPLIT)
  1144. X    -FIND/PREV/NEXT will now abort a REPEAT if string not found.
  1145. X
  1146. XV1.11 RELEASE NOTES
  1147. X    -Bug fixes (mainly graphical mistakes).
  1148. X    -User keymappings are disabled in command mode (so you can unmap
  1149. X      single ascii characters you may have mapped).
  1150. X    -Illegal key combinations no longer give garbage (e.g. ALT-CURSOR-DOWN)
  1151. X      you can, of course, still map them to anything you wish.
  1152. X    -Save now checks for error conditions on write.
  1153. X    -Uses Default Console Keymap (i.e. no longer assumes USA)... but there
  1154. X      *is* some stangeness.
  1155. X
  1156. XV1.00 RELEASE NOTES
  1157. X    -has find, but no replace function
  1158. X    -assumes USA keyboard            (fixed 1.11)
  1159. X    -disk files written out use spaces instead of tabs&spaces
  1160. X
  1161. X
  1162. X                    VII
  1163. X                COMPILING
  1164. X
  1165. XDME now compiles under either Manx C or Lattice C (V5.02 and beyond).
  1166. Xdres.library is no longer required.
  1167. X
  1168. END_OF_FILE
  1169. if test 44056 -ne `wc -c <'man/dme.doc'`; then
  1170.     echo shar: \"'man/dme.doc'\" unpacked with wrong size!
  1171. fi
  1172. # end of 'man/dme.doc'
  1173. fi
  1174. echo shar: End of archive 14 \(of 16\).
  1175. cp /dev/null ark14isdone
  1176. MISSING=""
  1177. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
  1178.     if test ! -f ark${I}isdone ; then
  1179.     MISSING="${MISSING} ${I}"
  1180.     fi
  1181. done
  1182. if test "${MISSING}" = "" ; then
  1183.     echo You have unpacked all 16 archives.
  1184.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1185. else
  1186.     echo You still need to unpack the following archives:
  1187.     echo "        " ${MISSING}
  1188. fi
  1189. ##  End of shell archive.
  1190. exit 0
  1191. -- 
  1192. Submissions to comp.sources.amiga and comp.binaries.amiga should be sent to:
  1193.     amiga@cs.odu.edu    
  1194. or    amiga@xanth.cs.odu.edu    ( obsolescent mailers may need this address )
  1195. or    ...!uunet!xanth!amiga    ( very obsolescent mailers need this address )
  1196.  
  1197. Comments, questions, and suggestions should be addressed to ``amiga-request''
  1198. (please only use ``amiga'' for actual submissions) at the above addresses.
  1199.